package com.ym.medical.enums;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.util.StdConverter;
import com.ym.common.annotations.EnumDescription;
import com.ym.common.constant.DictEnum;

/**
 * 用户身份类型
 *
 * @author: 李涛
 * @version: 2019年04月26日 13:34
 */
@EnumDescription("用户身份类型")
public enum UserCardTypeEnum implements DictEnum {

	/**
	 * 港澳台通行证
	 */
	PLACE_PASSES("01", "港澳台通行证"),
	/**
	 * 教师证
	 */
	TEACHERCER("02", "教师证"),
	/**
	 * 户口本/居住证
	 */
	ACCOUNT("03", "户口本/居住证"),
	/**
	 * 老人证
	 */
	ELDERLY("04", "老人证"),
	/**
	 * 组织机构代码证
	 */
	ORGANIZATION("05", "组织机构代码证"),
	/**
	 * 军官证
	 */
	OFFICER("06", "军官证"),
	/**
	 * 护照
	 */
	PASSPORT("07", "护照"),
	/**
	 * 虚拟证件
	 */
	VIRTUAL("08", "虚拟证件"),
	/**
	 * 部队干部离休证
	 */
	RETIREMENT("09", "部队干部离休证"),
	/**
	 * 工商执照
	 */
	BUSINESS("10", "工商执照"),

	/**
	 * 单位证明（含公章）
	 */
	OFFICIAL("11", "单位证明"),

	/**
	 * 驾驶证
	 */
	DRIVE("12", "驾驶证"),

	/**
	 * 学生证
	 */
	STUDENT("13", "学生证"),
	/**
	 * 身份证
	 */
	ID_CARD("14", "身份证"),

	/**
	 * 医生执业证
	 */
	LAWYER_LICENSE("15", "医生执业证"),
	/**
	 * 医师资格证
	 */
	CERTIFICATE("16", "医师资格证"),
	/**
	 * 专业技术资格证
	 */
	PROFESSIONAL_TECHNICAL_QUALIFICATION_CERTIFICATE("17", "专业技术资格证");

	private String key;

	private String value;

	UserCardTypeEnum(String key, String value) {
		this.key = key;
		this.value = value;
	}

	@Override
	public String getKey() {
		return this.key;
	}

	@Override
	public String getValue() {
		return this.value;
	}


	/**
	 * 序列化使用
	 */
	public static class Covert extends StdConverter<String, JSONObject> {
		@Override
		public JSONObject convert(String value) {
			return DictEnum.valueOfJson(UserCardTypeEnum.class, value);
		}
	}
}
